package model.vo.mycinema;

import model.vo.mycinema.CommonConstants;
import model.vo.mycinema.PagingBean;

public class PagingBean {
	/**
	 * �� �Խù� �� 
	 */
	private int totalContent;
	public int getNowPage() {
		return nowPage;
	}
	/**
	 * ���� ������ �ѹ� 
	 */
	private int nowPage=1;
	/**
	 * �� ���������� ������ �Խù� �� 
	 */
	private int numberOfContentPerPage=CommonConstants.CONTENT_NUMBER_PER_PAGE;
	/**
	 * �� ������ �׷쳻 ������ �� 
	 */
	private int numberOfPageGroup=CommonConstants.PAGEGROUP_NUMBER_PER_PAGE;
	/**
	 * PagingBean�� ���� ����¡ ������ �����ϱ� ���ؼ��� 
	 * ��ü �Խù� ���� ���� ������ �ѹ��� �ʿ�� �Ѵ�. 
	 * @param totalContent
	 * @param nowPage
	 */
	public PagingBean(int totalContent, int nowPage) {
		super();
		this.totalContent = totalContent;
		this.nowPage = nowPage;
	}
	/**
	 * �� ������ �� ����  
	 * ex) �ѰԽù� �� - 15 �� , ��ȭ�鿡�� ������ �Խù� �� - 5�� 
	 *      �������� ? �� 3 ������ 
	 *      16���� �� 4������ 
	 *  �ѰԽù��� % ���������� ������ �Խù��� 
	 *  0 �̸� ���� ��
	 *  0 �� �ƴϸ� ���� �� + 1     
	 * @return
	 */
	public int getTotalPage(){
		int num=totalContent%this.numberOfContentPerPage;
		int totalPage=0;
		if(num==0)
			totalPage=totalContent/this.numberOfContentPerPage;
		else
			totalPage=totalContent/this.numberOfContentPerPage+1;
		return totalPage;
	}
	/**
	 * ��ü ������ �׷�� ���� 
	 * ex) �� �Խù� �� 23�� - ����������?5������   ���������׷��?2�׷�
	 * ���������� % Page Group �� ������ �� 
	 * --> 0�̸� ������ 
	 * --> 0�� �ƴϸ� ������+1  
	 * @return
	 */
	public int getTotalPageGroup(){
		int num=this.getTotalPage()%this.numberOfPageGroup;
		int totalGroup=0;
		if(num==0)
			totalGroup=this.getTotalPage()/this.numberOfPageGroup;
		else
			totalGroup=this.getTotalPage()/this.numberOfPageGroup+1;
		return totalGroup;
	}
	/**
	 * ���� �������� ���� ������ �׷� ��ȣ�� ���� 
	 * ���� ������ % Page �׷쳻 ������ �� 
	 * 0 -> ���� ���� ������ �׷� ��ȣ 
	 * 0 �� �ƴϸ� ���� �� + 1 
	 * @return
	 */
	public int getNowPageGroup(){
		int num=this.nowPage%this.numberOfPageGroup;
		int nowGroup=0;
		if(num==0)
			nowGroup=this.nowPage/this.numberOfPageGroup;
		else
			nowGroup=this.nowPage/this.numberOfPageGroup+1;
		return nowGroup;
	}
	/**
	 * ���� �������� ���� ������ �׷��� ���� ������ ��ȣ�� ���� 
	 * PageGroup�� ������ �� * (���� ������ �׷�-1) + 1 
	 * �� ������ �׷��� ������ ��ȣ + 1 �� �ᱹ ���� �������� �ȴ� 
	 * @return
	 */
	public int getStartPageOfPageGroup(){
		//���� ������ �׷��� ������ ������ ��ȣ+1�ϸ� ���� �������� ��
		int start=this.numberOfPageGroup*(this.getNowPageGroup()-1)+1;
		return start;
	}
	/**
	 * ���� �������� ���� ������ �׷��� ������ ������ ��ȣ�� ���� 
	 * ���� ������ �׷� * ������ �׷쳻 ������ �� 
	 * ���� ��ü ������ ������ ���� ������ Ŭ ��� 
	 * ��ü ������ ���� ������ ������ ��ȣ�� �ȴ�. 
	 * @return
	 */
	public int getEndPageOfPageGroup(){
		int end=this.numberOfPageGroup*this.getNowPageGroup();
		if(end>this.getTotalPage()){
			end=this.getTotalPage();
		}
		return end;
	}
	/**
	 * ���� ������ �׷��� �ִ��� Ȯ���Ͽ� ������ true ������ false 
	 * ���� ������ �׷��� 1���� ũ�� true 
	 * @return
	 */
	public boolean isPreviousPageGroup(){
		boolean flag=false;
		if(this.getNowPageGroup()>1)
			flag=true;
		return flag;
	}
	/**
	 * ���� ������ �׷��� �ִ� �� Ȯ�� 
	 * ���� ������ �׷��� ��ü ������ �׷� ������ ������ true
	 * @return
	 */
	public boolean isNextPageGroup(){
		boolean flag=false;
		if(this.getNowPageGroup()<this.getTotalPageGroup())
			flag=true;
		return flag;
	}
	public static void main(String args[]){
		PagingBean bean=new PagingBean(26,6);
		System.out.println(bean.getTotalPage()+"������");
		System.out.println(bean.getTotalPageGroup()+"������ �׷�");
		System.out.println(bean.getNowPageGroup()+" ���� ������ �׷�");
	}
}

